The following charts are generated "on-the-fly" by 4D+4D Chart+ITK team.
Both charts use transparency which take the color of the first
pixel of the picture as the transparent color (which is fine for most
pictures).
The first one also uses interlaced GIF.

` Generate chart data
$nCat:=5
$nSer:=1+(Random%20)
ARRAY TEXT($aCat;$nCat)
ARRAY TEXT($aSer;$nSer)
ARRAY REAL($aVal;$nCat*$nSer)
For ($i;1;$nCat)
$aCat{$i}:="Cat. "+String($i)
For ($j;1;$nSer)
$aSer{$j}:="Serie "+String($j)
If ($i=1)
$aVal{($i-1)*$nSer+$j}:=Random
Else
$aVal{($i-1)*$nSer+$j}:=$aVal{($i-2)*$nSer+$j}*1,2
End if
End for
End for
` Generate chart
$chart:=CT New offscreen area
$area:=CT Chart arrays ($chart;(Random%6)+1+((Random%2)*99);2;$aCat;$aSer;$aVal)
CT SIZE ($chart;-1;400;300)
` Convert chart to picture
$pict:=CT Area to picture ($Chart;-1)
CT DELETE OFFSCREEN AREA ($chart)
` Convert picture to GIF $pict:=ITK_Pict2GIF ($pict;2) ` transparent GIF please !
` send HTTP header $err:=ITK_TCPSend ($1;"HTTP/1.0 200 OK"+$crlf;1) $err:=ITK_TCPSend ($1;"MIME-Version: 1.0"+$crlf;1) $err:=ITK_TCPSend ($1;"Content-type: image/gif"+$crlf) $err:=ITK_TCPSend ($1;"Content-length: "+String(Picture size($pict))+$crlf+$crlf) $err:=ITK_TCPSendPict ($1;$pict)
These are small examples of ITK's picture routines...